package net.aiion.weave.spi.xml.events;

public interface XmlEvent
{
    int SOURCE = 0x00;
    int START_DOCUMENT = 0x01;
    int DOCUMENT_TYPE_DEFINITION = 0x02;
    int PROCESSING_INSTRUCTION = 0x03;
    int COMMENT = 0x04;
    int START_ELEMENT = 0x05;
    int ATTRIBUTE = 0x06;
    int NAMESPACE = 0x07;
    int CHARACTERS = 0x08;
    int END_ELEMENT = 0x09;
    int END_DOCUMENT = 0x0A;

    int getType();

    SourceXmlEvent asSource();

    DocumentStartXmlEvent asDocumentStart();

    DocumentTypeDefinitionXmlEvent asDocumentTypeDefinition();

    ProcessingInstructionXmlEvent asProcessingInstruction();

    ElementStartXmlEvent asElementStart();

    AttributeXmlEvent asAttribute();

    NamespaceXmlEvent asNamespace();

    CharactersXmlEvent asCharacters();

    CommentXmlEvent asComment();

    ElementEndXmlEvent asElementEnd();

    DocumentEndXmlEvent asDocumentEnd();
}
